<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>IDA SDK: registry.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">IDA SDK
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="files.html"><span>Header&#160;Files</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#enum-members">Enumerations</a>  </div>
  <div class="headertitle">
<div class="title">registry.hpp File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Registry related functions. </p>
<p>IDA uses the registry to store global configuration options that must persist after IDA has been closed.</p>
<p>On Windows, IDA uses the Windows registry directly. On Unix systems, the registry is stored in a file (typically ~/.idapro/ida.reg).</p>
<p>The root key for accessing IDA settings in the registry is defined by <a class="el" href="registry_8hpp.html#a3193bb469453169d7eac8f304fab748c" title="Key used to store IDA settings in registry (Windows version). ">ROOT_KEY_NAME</a>. </p>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ae8bf22e5f3e5d29eb1fae33bffea6690"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8bf22e5f3e5d29eb1fae33bffea6690"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="registry_8hpp.html#ae8bf22e5f3e5d29eb1fae33bffea6690">reg_delete_subkey</a> (const char *name)</td></tr>
<tr class="memdesc:ae8bf22e5f3e5d29eb1fae33bffea6690"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a key from the registry. <br /></td></tr>
<tr class="separator:ae8bf22e5f3e5d29eb1fae33bffea6690"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2a90f0080ab64cc2cdf2a171b78e886"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad2a90f0080ab64cc2cdf2a171b78e886"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="registry_8hpp.html#ad2a90f0080ab64cc2cdf2a171b78e886">reg_delete_tree</a> (const char *name)</td></tr>
<tr class="memdesc:ad2a90f0080ab64cc2cdf2a171b78e886"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a subtree from the registry. <br /></td></tr>
<tr class="separator:ad2a90f0080ab64cc2cdf2a171b78e886"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a541bbcd677cdaaad65d8a418fe4233e0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="registry_8hpp.html#a541bbcd677cdaaad65d8a418fe4233e0">reg_delete</a> (const char *name, const char *subkey=NULL)</td></tr>
<tr class="memdesc:a541bbcd677cdaaad65d8a418fe4233e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a value from the registry.  <a href="#a541bbcd677cdaaad65d8a418fe4233e0">More...</a><br /></td></tr>
<tr class="separator:a541bbcd677cdaaad65d8a418fe4233e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3512ef892e9cdba3a2222b6f8b4b44b2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3512ef892e9cdba3a2222b6f8b4b44b2"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="registry_8hpp.html#a3512ef892e9cdba3a2222b6f8b4b44b2">reg_subkey_exists</a> (const char *name)</td></tr>
<tr class="memdesc:a3512ef892e9cdba3a2222b6f8b4b44b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is there already a key with the given name? <br /></td></tr>
<tr class="separator:a3512ef892e9cdba3a2222b6f8b4b44b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4c55e98399179137e2f6980316f1c2c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="registry_8hpp.html#ae4c55e98399179137e2f6980316f1c2c">reg_exists</a> (const char *name, const char *subkey=NULL)</td></tr>
<tr class="memdesc:ae4c55e98399179137e2f6980316f1c2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is there already a value with the given name?  <a href="#ae4c55e98399179137e2f6980316f1c2c">More...</a><br /></td></tr>
<tr class="separator:ae4c55e98399179137e2f6980316f1c2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c46e7812aee45ecb05b39a990b98799"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="registry_8hpp.html#a2c46e7812aee45ecb05b39a990b98799">reg_subkey_children</a> (<a class="el" href="pro_8h.html#a823b67c620f6cdca97e1d969ea4a9b02">qstrvec_t</a> *out, const char *name, bool subkeys)</td></tr>
<tr class="memdesc:a2c46e7812aee45ecb05b39a990b98799"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the child names of the given key.  <a href="#a2c46e7812aee45ecb05b39a990b98799">More...</a><br /></td></tr>
<tr class="separator:a2c46e7812aee45ecb05b39a990b98799"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07b544335fa5bbb07aea70cff052c9d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="registry_8hpp.html#a07b544335fa5bbb07aea70cff052c9d3">reg_data_type</a> (<a class="el" href="registry_8hpp.html#a68552d86f5bb5687eb2828179ac0a3a7">regval_type_t</a> *out, const char *name, const char *subkey=NULL)</td></tr>
<tr class="memdesc:a07b544335fa5bbb07aea70cff052c9d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get data type of a given value.  <a href="#a07b544335fa5bbb07aea70cff052c9d3">More...</a><br /></td></tr>
<tr class="separator:a07b544335fa5bbb07aea70cff052c9d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab26f923fc90933791e0d2dcc036b5b33"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> void <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="registry_8hpp.html#ab26f923fc90933791e0d2dcc036b5b33">reg_read_strlist</a> (<a class="el" href="pro_8h.html#a823b67c620f6cdca97e1d969ea4a9b02">qstrvec_t</a> *list, const char *subkey)</td></tr>
<tr class="memdesc:ab26f923fc90933791e0d2dcc036b5b33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve all string values associated with the given key.  <a href="#ab26f923fc90933791e0d2dcc036b5b33">More...</a><br /></td></tr>
<tr class="separator:ab26f923fc90933791e0d2dcc036b5b33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7aedb0676a33690f457fc2461b31b0b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> void <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="registry_8hpp.html#af7aedb0676a33690f457fc2461b31b0b">reg_update_strlist</a> (const char *subkey, const char *add, size_t maxrecs, const char *rem=NULL, bool ignorecase=false)</td></tr>
<tr class="memdesc:af7aedb0676a33690f457fc2461b31b0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update list of strings associated with given key.  <a href="#af7aedb0676a33690f457fc2461b31b0b">More...</a><br /></td></tr>
<tr class="separator:af7aedb0676a33690f457fc2461b31b0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c7d268cb14f022f03c8c4c038277a74"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="registry_8hpp.html#a7c7d268cb14f022f03c8c4c038277a74">reg_write_binary</a> (const char *name, const void *data, size_t datalen, const char *subkey=NULL)</td></tr>
<tr class="memdesc:a7c7d268cb14f022f03c8c4c038277a74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write binary data to the registry.  <a href="#a7c7d268cb14f022f03c8c4c038277a74">More...</a><br /></td></tr>
<tr class="separator:a7c7d268cb14f022f03c8c4c038277a74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36f4836f02c3bd7784e9b1732e6e9d44"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="registry_8hpp.html#a36f4836f02c3bd7784e9b1732e6e9d44">reg_read_binary</a> (const char *name, void *data, size_t datalen, const char *subkey=NULL)</td></tr>
<tr class="memdesc:a36f4836f02c3bd7784e9b1732e6e9d44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read binary data from the registry.  <a href="#a36f4836f02c3bd7784e9b1732e6e9d44">More...</a><br /></td></tr>
<tr class="separator:a36f4836f02c3bd7784e9b1732e6e9d44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a8a191c9686b01560957b1b6176d9c1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="registry_8hpp.html#a6a8a191c9686b01560957b1b6176d9c1">reg_read_binary_part</a> (const char *name, void *data, size_t datalen, const char *subkey=NULL)</td></tr>
<tr class="memdesc:a6a8a191c9686b01560957b1b6176d9c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a chunk of binary data from the registry.  <a href="#a6a8a191c9686b01560957b1b6176d9c1">More...</a><br /></td></tr>
<tr class="separator:a6a8a191c9686b01560957b1b6176d9c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae92e94d3b37c93e656b14f7406ac342d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="registry_8hpp.html#ae92e94d3b37c93e656b14f7406ac342d">reg_read_binary</a> (const char *name, <a class="el" href="classbytevec__t.html">bytevec_t</a> *data, const char *subkey=NULL)</td></tr>
<tr class="memdesc:ae92e94d3b37c93e656b14f7406ac342d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read binary data from the registry.  <a href="#ae92e94d3b37c93e656b14f7406ac342d">More...</a><br /></td></tr>
<tr class="separator:ae92e94d3b37c93e656b14f7406ac342d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad944cdb25ec7671d8f49bfb109fea365"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="registry_8hpp.html#ad944cdb25ec7671d8f49bfb109fea365">reg_write_string</a> (const char *name, const char *utf8, const char *subkey=NULL)</td></tr>
<tr class="memdesc:ad944cdb25ec7671d8f49bfb109fea365"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a string to the registry.  <a href="#ad944cdb25ec7671d8f49bfb109fea365">More...</a><br /></td></tr>
<tr class="separator:ad944cdb25ec7671d8f49bfb109fea365"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2471727630146def7e7109c1f69d83b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="registry_8hpp.html#ab2471727630146def7e7109c1f69d83b">reg_read_string</a> (<a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *utf8, const char *name, const char *subkey=NULL)</td></tr>
<tr class="memdesc:ab2471727630146def7e7109c1f69d83b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a string from the registry.  <a href="#ab2471727630146def7e7109c1f69d83b">More...</a><br /></td></tr>
<tr class="separator:ab2471727630146def7e7109c1f69d83b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c16ccf813a947462fe8ba1154af2afc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="registry_8hpp.html#a2c16ccf813a947462fe8ba1154af2afc">reg_read_int</a> (const char *name, int defval, const char *subkey=NULL)</td></tr>
<tr class="memdesc:a2c16ccf813a947462fe8ba1154af2afc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read integer value from the registry.  <a href="#a2c16ccf813a947462fe8ba1154af2afc">More...</a><br /></td></tr>
<tr class="separator:a2c16ccf813a947462fe8ba1154af2afc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f57d98228223520bb2cc0666da199db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="registry_8hpp.html#a2f57d98228223520bb2cc0666da199db">reg_write_int</a> (const char *name, int value, const char *subkey=NULL)</td></tr>
<tr class="memdesc:a2f57d98228223520bb2cc0666da199db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write integer value to the registry.  <a href="#a2f57d98228223520bb2cc0666da199db">More...</a><br /></td></tr>
<tr class="separator:a2f57d98228223520bb2cc0666da199db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd7c06c769814e53840443773d07b2e1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="registry_8hpp.html#acd7c06c769814e53840443773d07b2e1">reg_read_bool</a> (const char *name, bool defval, const char *subkey=NULL)</td></tr>
<tr class="memdesc:acd7c06c769814e53840443773d07b2e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read boolean value from the registry.  <a href="#acd7c06c769814e53840443773d07b2e1">More...</a><br /></td></tr>
<tr class="separator:acd7c06c769814e53840443773d07b2e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a418318d82f125f116a10723d67a1200b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="registry_8hpp.html#a418318d82f125f116a10723d67a1200b">reg_write_bool</a> (const char *name, int value, const char *subkey=NULL)</td></tr>
<tr class="memdesc:a418318d82f125f116a10723d67a1200b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write boolean value to the registry.  <a href="#a418318d82f125f116a10723d67a1200b">More...</a><br /></td></tr>
<tr class="separator:a418318d82f125f116a10723d67a1200b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f194c17e8869e34f7637d9d2e63c5e6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f194c17e8869e34f7637d9d2e63c5e6"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="registry_8hpp.html#a9f194c17e8869e34f7637d9d2e63c5e6">reg_subkey_subkeys</a> (<a class="el" href="pro_8h.html#a823b67c620f6cdca97e1d969ea4a9b02">qstrvec_t</a> *out, const char *name)</td></tr>
<tr class="memdesc:a9f194c17e8869e34f7637d9d2e63c5e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get all subkey names of given key. <br /></td></tr>
<tr class="separator:a9f194c17e8869e34f7637d9d2e63c5e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78e0c51eaf127e9e635d3312f9038a42"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a78e0c51eaf127e9e635d3312f9038a42"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="registry_8hpp.html#a78e0c51eaf127e9e635d3312f9038a42">reg_subkey_values</a> (<a class="el" href="pro_8h.html#a823b67c620f6cdca97e1d969ea4a9b02">qstrvec_t</a> *out, const char *name)</td></tr>
<tr class="memdesc:a78e0c51eaf127e9e635d3312f9038a42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get all value names under given key. <br /></td></tr>
<tr class="separator:a78e0c51eaf127e9e635d3312f9038a42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7b9f602a9aa556acf53e2e42d0778a7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="registry_8hpp.html#af7b9f602a9aa556acf53e2e42d0778a7">reg_update_filestrlist</a> (const char *subkey, const char *add, size_t maxrecs, const char *rem=NULL)</td></tr>
<tr class="memdesc:af7b9f602a9aa556acf53e2e42d0778a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update registry with a file list.  <a href="#af7b9f602a9aa556acf53e2e42d0778a7">More...</a><br /></td></tr>
<tr class="separator:af7b9f602a9aa556acf53e2e42d0778a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a3193bb469453169d7eac8f304fab748c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="registry_8hpp.html#a3193bb469453169d7eac8f304fab748c">ROOT_KEY_NAME</a>&#160;&#160;&#160;&quot;Software\\Hex-Rays\\IDA&quot;</td></tr>
<tr class="memdesc:a3193bb469453169d7eac8f304fab748c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Key used to store IDA settings in registry (Windows version).  <a href="#a3193bb469453169d7eac8f304fab748c">More...</a><br /></td></tr>
<tr class="separator:a3193bb469453169d7eac8f304fab748c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a68552d86f5bb5687eb2828179ac0a3a7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="registry_8hpp.html#a68552d86f5bb5687eb2828179ac0a3a7">regval_type_t</a> { <a class="el" href="registry_8hpp.html#a68552d86f5bb5687eb2828179ac0a3a7aba486bc5fe72e037da1098d95209aba3">reg_unknown</a> = 0, 
<a class="el" href="registry_8hpp.html#a68552d86f5bb5687eb2828179ac0a3a7a73f3c345c6c99bed0b87010fcc08b66f">reg_sz</a> = 1, 
<a class="el" href="registry_8hpp.html#a68552d86f5bb5687eb2828179ac0a3a7a0eb0e79c42a752f3ffae00f56b6357ec">reg_binary</a> = 3, 
<a class="el" href="registry_8hpp.html#a68552d86f5bb5687eb2828179ac0a3a7a2e3d0f2a34622d448db515d0356fda4a">reg_dword</a> = 4
 }</td></tr>
<tr class="memdesc:a68552d86f5bb5687eb2828179ac0a3a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Types of values stored in the registry.  <a href="registry_8hpp.html#a68552d86f5bb5687eb2828179ac0a3a7">More...</a><br /></td></tr>
<tr class="separator:a68552d86f5bb5687eb2828179ac0a3a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a3193bb469453169d7eac8f304fab748c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ROOT_KEY_NAME&#160;&#160;&#160;&quot;Software\\Hex-Rays\\IDA&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Key used to store IDA settings in registry (Windows version). </p>
<dl class="section note"><dt>Note</dt><dd>this name is automatically prepended to all key names passed to functions in this file. </dd></dl>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="a68552d86f5bb5687eb2828179ac0a3a7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="registry_8hpp.html#a68552d86f5bb5687eb2828179ac0a3a7">regval_type_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Types of values stored in the registry. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a68552d86f5bb5687eb2828179ac0a3a7aba486bc5fe72e037da1098d95209aba3"></a>reg_unknown&#160;</td><td class="fielddoc">
<p>unknown </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a68552d86f5bb5687eb2828179ac0a3a7a73f3c345c6c99bed0b87010fcc08b66f"></a>reg_sz&#160;</td><td class="fielddoc">
<p>utf8 string </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a68552d86f5bb5687eb2828179ac0a3a7a0eb0e79c42a752f3ffae00f56b6357ec"></a>reg_binary&#160;</td><td class="fielddoc">
<p>binary data </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a68552d86f5bb5687eb2828179ac0a3a7a2e3d0f2a34622d448db515d0356fda4a"></a>reg_dword&#160;</td><td class="fielddoc">
<p>32-bit number </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a541bbcd677cdaaad65d8a418fe4233e0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> reg_delete </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>subkey</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Delete a value from the registry. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>value name </td></tr>
    <tr><td class="paramname">subkey</td><td>parent key </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>success </dd></dl>

</div>
</div>
<a class="anchor" id="ae4c55e98399179137e2f6980316f1c2c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> reg_exists </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>subkey</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Is there already a value with the given name? </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>value name </td></tr>
    <tr><td class="paramname">subkey</td><td>parent key </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2c46e7812aee45ecb05b39a990b98799"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> reg_subkey_children </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a823b67c620f6cdca97e1d969ea4a9b02">qstrvec_t</a> *&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>subkeys</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retrieve the child names of the given key. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">out</td><td>result </td></tr>
    <tr><td class="paramname">name</td><td>key name </td></tr>
    <tr><td class="paramname">subkeys</td><td>if true, collect subkey names. if false, collect value names. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>false if the given key does not exist </dd></dl>

</div>
</div>
<a class="anchor" id="a07b544335fa5bbb07aea70cff052c9d3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> reg_data_type </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="registry_8hpp.html#a68552d86f5bb5687eb2828179ac0a3a7">regval_type_t</a> *&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>subkey</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get data type of a given value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">out</td><td>result </td></tr>
    <tr><td class="paramname">name</td><td>value name </td></tr>
    <tr><td class="paramname">subkey</td><td>key name </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>false if the [key+]value doesn't exist </dd></dl>

</div>
</div>
<a class="anchor" id="ab26f923fc90933791e0d2dcc036b5b33"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> void <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> reg_read_strlist </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a823b67c620f6cdca97e1d969ea4a9b02">qstrvec_t</a> *&#160;</td>
          <td class="paramname"><em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>subkey</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retrieve all string values associated with the given key. </p>
<p>Also see <a class="el" href="registry_8hpp.html#af7aedb0676a33690f457fc2461b31b0b" title="Update list of strings associated with given key. ">reg_update_strlist()</a>. </p>

</div>
</div>
<a class="anchor" id="af7aedb0676a33690f457fc2461b31b0b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> void <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> reg_update_strlist </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>subkey</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>add</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>maxrecs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>rem</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>ignorecase</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Update list of strings associated with given key. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">subkey</td><td>key name </td></tr>
    <tr><td class="paramname">add</td><td>string to be added to list, can be NULL </td></tr>
    <tr><td class="paramname">maxrecs</td><td>limit list to this size </td></tr>
    <tr><td class="paramname">rem</td><td>string to be removed from list, can be NULL </td></tr>
    <tr><td class="paramname">ignorecase</td><td>ignore case for 'add' and 'rem' </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a7c7d268cb14f022f03c8c4c038277a74"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reg_write_binary </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>datalen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>subkey</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write binary data to the registry. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>value name </td></tr>
    <tr><td class="paramname">data</td><td>input, must not be NULL </td></tr>
    <tr><td class="paramname">datalen</td><td>length of input in bytes </td></tr>
    <tr><td class="paramname">subkey</td><td>key name </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a36f4836f02c3bd7784e9b1732e6e9d44"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool reg_read_binary </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>datalen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>subkey</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Read binary data from the registry. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">name</td><td>value name </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">data</td><td>result, must not be NULL </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">datalen</td><td>length of out buffer in bytes </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">subkey</td><td>key name </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>false if 'data' is not large enough to hold all data present. in this case 'data' is left untouched. </dd></dl>

</div>
</div>
<a class="anchor" id="a6a8a191c9686b01560957b1b6176d9c1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool reg_read_binary_part </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>datalen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>subkey</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Read a chunk of binary data from the registry. </p>
<p>This function succeeds even in the case of a partial read. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">name</td><td>value name </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">data</td><td>result, must not be NULL </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">datalen</td><td>length of output buffer in bytes </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">subkey</td><td>key name </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>success </dd></dl>

</div>
</div>
<a class="anchor" id="ae92e94d3b37c93e656b14f7406ac342d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool reg_read_binary </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classbytevec__t.html">bytevec_t</a> *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>subkey</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Read binary data from the registry. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">name</td><td>value name </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">data</td><td>output buffer, must not be NULL </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">subkey</td><td>key name </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>success </dd></dl>

</div>
</div>
<a class="anchor" id="ad944cdb25ec7671d8f49bfb109fea365"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reg_write_string </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>utf8</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>subkey</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write a string to the registry. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>value name </td></tr>
    <tr><td class="paramname">utf8</td><td>utf8-encoded string </td></tr>
    <tr><td class="paramname">subkey</td><td>key name </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab2471727630146def7e7109c1f69d83b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool reg_read_string </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *&#160;</td>
          <td class="paramname"><em>utf8</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>subkey</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Read a string from the registry. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">utf8</td><td>output buffer </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">name</td><td>value name </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">subkey</td><td>key name </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>success </dd></dl>

</div>
</div>
<a class="anchor" id="a2c16ccf813a947462fe8ba1154af2afc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int reg_read_int </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>defval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>subkey</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Read integer value from the registry. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>value name </td></tr>
    <tr><td class="paramname">defval</td><td>default value </td></tr>
    <tr><td class="paramname">subkey</td><td>key name </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the value read from the registry, or 'defval' if the read failed </dd></dl>

</div>
</div>
<a class="anchor" id="a2f57d98228223520bb2cc0666da199db"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reg_write_int </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>subkey</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write integer value to the registry. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>value name </td></tr>
    <tr><td class="paramname">value</td><td>value to write </td></tr>
    <tr><td class="paramname">subkey</td><td>key name </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="acd7c06c769814e53840443773d07b2e1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool reg_read_bool </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>defval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>subkey</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Read boolean value from the registry. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>value name </td></tr>
    <tr><td class="paramname">defval</td><td>default value </td></tr>
    <tr><td class="paramname">subkey</td><td>key name </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>boolean read from registry, or 'defval' if the read failed </dd></dl>

</div>
</div>
<a class="anchor" id="a418318d82f125f116a10723d67a1200b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reg_write_bool </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>subkey</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write boolean value to the registry. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>value name </td></tr>
    <tr><td class="paramname">value</td><td>boolean to write (nonzero = true) </td></tr>
    <tr><td class="paramname">subkey</td><td>key name </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af7b9f602a9aa556acf53e2e42d0778a7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reg_update_filestrlist </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>subkey</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>add</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>maxrecs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>rem</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Update registry with a file list. </p>
<p>Case sensitivity will vary depending on the target OS. </p><dl class="section note"><dt>Note</dt><dd>'add' and 'rem' must be UTF-8, just like for regular string operations. </dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>
